package com.lsh.service;

import com.lsh.domain.Register;

/**
 * 注册业务模块
 * @author Administrator
 * @date 2019/11/07 21:32
 */
public interface RegisterService {

    // 验证邮箱是否可用（是否已注册）
    boolean checkEmail(String email);

    // 验证邮箱注册的验证码的正确与否
    boolean checkEmailCode(String code, String token);

    // 验证用户名是否可用（是否已被使用）
    boolean checkUsername(String username);

    // 缓存注册用户信息
    void saveUserAndSendEmail(Register register);

    // 创建用户（邮箱注册方式）
    boolean createUser(String authCode);

    // 删除缓存注册用户信息
    void removeUser(String authCode);

    // 验证手机号码是否可用（是否未被注册）
    boolean checkPhone(String phone);

    // 发送注册验证码
    boolean sendRegisterCode(String phone, int codeTime);

    // 校验手机号码与验证码是否一致
    boolean checkPhoneAndCode(String phone, String code);

    // 创建用户（手机号码注册）
    boolean createUser(Register register);

}
